package com.his.modules.sysjob.job;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.his.modules.business.entity.EmrBl03;
import com.his.modules.business.service.EmrBl03Service;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;

import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.util.List;

@Component("emrBl03Job")
@Slf4j
public class EmrBl03Job {
    @Autowired
    private EmrBl03Service emrBl03Service;

    /**
     * 获取html双签的内容
     */
    public void emrBl03Job() {
//        QueryWrapper<EmrBl03> queryWrapper = new QueryWrapper<>();
//        queryWrapper.eq("ZYMZ", 2);
//        queryWrapper.eq("BLBH", 274487);
//        List<EmrBl03> emrBl03List = emrBl03Service.list(queryWrapper);
//        if(!CollectionUtils.isEmpty(emrBl03List)) {
//            log.info("门诊病历数：{}", emrBl03List.size());
//            Long num = 0l;
//            String img = "<img";
//            for(EmrBl03 emrBl03 : emrBl03List) {
//                String blnr = new String(emrBl03.getWdnr());
//                int count = 0;
//                int index = 0;
//                while((index = blnr.indexOf(img, index)) != -1) {
//                    count ++;
//                    index += img.length();
//                }
//                if(count > 1) {
//                    num ++;
//                    log.info("病历编号：{}的内容为：{}", emrBl03.getBlbh(), blnr);
//
//                    int idx = 0;
//                    String ss = "";
//                    idx = blnr.indexOf("<img");
//                    ss = blnr.substring(0, idx);
//                    idx = blnr.indexOf("/>", idx);
//                    ss += blnr.substring(idx + "/>".length());
//                    log.info("病历编号：{}的替换内容为：{}", emrBl03.getBlbh(), ss);
//                    try {
//                        emrBl03.setWdnr1(ss.getBytes(Charset.defaultCharset().name()));
//                    } catch (UnsupportedEncodingException e) {
//                        e.printStackTrace();
//                    }
//                    log.info("病历编号：{}的再转换内容为：{}", emrBl03.getBlbh(), new String(emrBl03.getWdnr1()));
//                    emrBl03Service.updateById(emrBl03);
//                }
//            }
//            log.info("多签门诊病历数：{}", num);
//        }
    }
}